Precision machine vision inspection systems (or “vision systems” in short) can be utilized to obtain precise dimensional measurements of inspected objects and to inspect various other object characteristics. Such systems may include a computer, a camera and optical system, and a precision stage that is movable in multiple directions so as to allow the camera to scan the features of a workpiece that is being inspected. One exemplary prior art system that is commercially available is the QUICK VISION® series of PC-based vision systems and QVPAK® software available from Mitutoyo America Corporation (MAC), located in Aurora, Ill. The features and operation of the QUICK VISION® series of vision systems and the QVPAK® software are generally described, for example, in the QVPAK 3D CNC Vision Measuring Machine Users Guide, published January 2003, and the QVPAK 3D CNC Vision Measuring Machine Operation Guide, published September 1996, each of which is hereby incorporated herein by reference in their entirety. This product, as exemplified by the QV-302 Pro model, for example, is able to use a microscope-type optical system to provide images of a workpiece at various magnifications, and move the stage as necessary to traverse the workpiece surface beyond the limits of any single video image. A single video image typically encompasses only a portion of the workpiece being observed or inspected, given the desired magnification, measurement resolution, and physical size limitations of such systems.
Machine vision inspection systems generally utilize automated video inspection. U.S. Pat. No. 6,542,180 teaches various aspects of such automated video inspection and is incorporated herein by reference in its entirety. As taught in the '180 patent, automated video inspection metrology instruments generally have a programming capability that allows an automatic inspection event sequence to be defined by the user for each particular workpiece configuration. This can be implemented by text-based programming, for example, or through a recording mode which progressively “learns” the inspection event sequence by storing a sequence of machine control instructions corresponding to a sequence of inspection operations performed by a user, or through a combination of both methods. Such a recording mode is often referred to as “learn mode” or “training mode”. Once the inspection event sequence is defined in “learn mode,” such a sequence can then be used to automatically acquire (and additionally analyze or inspect) images of a workpiece during “run mode.”
The machine control instructions, including the specific inspection event sequence including image acquisition parameters, etc., are generally stored as a “part program” or “workpiece program” that is specific to the particular workpiece configuration. The ability to create part programs with instructions that perform a predetermined sequence of inspection operations provides several benefits, including enhanced inspection repeatability, as well as the ability to automatically execute the same part program on a plurality of compatible machine vision inspection systems belonging to an industrial user and/or at a plurality of times.
For general-purpose machine vision inspection systems that are intended to be rapidly programmable for a wide variety of workpieces, as exemplified by the previously referenced QUICK VISION® series of PC-based vision systems, it has been conventional for image acquisition operations to be interspersed with image analysis operations and/or feature inspection operations that are performed on the most recently acquired image. However, there is an increasing demand for general-purpose machine vision inspection systems to provide higher throughput. According to one method, this may be accomplished by performing image acquisition while using continuous relative motion between the camera and the workpiece stage (as opposed to intermittently stopping and starting the relative motion, as required in the interspersing vision system), thereby significantly increasing inspection throughput. It is advantageous for such systems to include strobe lighting illumination to assist with the acquisition of images during continuous motion without smearing (or blurring) the image.
High-speed “in-line” vision inspection systems used in high-speed production lines have used strobe lighting illumination to minimize image smearing. However, such in-line vision systems typically are dedicated to a single production line and acquire the “same” image over and over again, for successive workpieces on a conveyor system, for example. In such cases, for each image the motion speed and strobe illumination parameters, etc., are the same. Furthermore, workpiece configurations are rarely changed. Thus, programming methods for such systems have not facilitated rapid programming for an unlimited variety of workpieces by relatively unskilled users, and have not been “transportable” between vision systems having different operating characteristics.
In contrast, experience has shown that it is essential for general-purpose machine vision inspection systems to facilitate rapid programming for an unlimited variety of workpieces by relatively unskilled users. Furthermore, in modern “flexible manufacturing” environments, for both machine scheduling flexibility and consistent quality control, it is desirable for the same part program to run on different vision systems without modification. Furthermore, it is essential that the inspection results generated from different vision systems provide comparable accuracy, so that the results can be compared, tallied, etc., to produce meaningful inspection and quality control data. Furthermore, it is desirable that each machine that runs a given part program achieves approximately the highest possible throughput, in a manner consistent with the objectives outlined above. However, different vision systems typically have different operating characteristics such as different maximum stage speeds, stage axis encoder resolutions, strobe lighting maximum power and/or minimum duration, etc., even among different versions or generations of the same model or class of machine. Therefore, the objectives outlined above have not been achieved, and a need exists for precision machine vision inspection systems and methods that create a part program that can be used with different vision systems having different operating characteristics, and that adapts to the operating characteristics of each system to consistently and reliably provide both a high level of inspection throughput, and inspection results that have a desired level of accuracy.